package com.lxl.workbench.dao;

import com.lxl.settings.entity.User;
import com.lxl.workbench.entity.Curator;
import com.lxl.workbench.entity.Library;
import javax.servlet.jsp.jstl.sql.Result;
import java.sql.SQLException;


/**
 * @author 北上寻海
 */
public interface LibraryDao {

    /**
     * 添加图书馆
     * @param user 用户
     * @param curator 馆长
     * @param library 图书馆
     * @throws SQLException sql
     */
    void insertLibrary(User user, Curator curator,Library library) throws SQLException;


    /**
     * 更新图书馆
     * @param library 待添加的图书馆信息
     * @throws SQLException 数据库异常
     */
    void updateLibrary(Library library,Curator curator,User user) throws SQLException;

    /**
     * 删除图书馆
     * @param delIds 选中的id
     * @return int
     * @throws SQLException 数据库异常
     */
    int deleteLibraryByIds(String[] delIds) throws SQLException;

    /**
     * 根据条件筛选图书馆
     * @param libraryName 名字
     * @param libraryLocation 位置
     * @return 查询结果集
     * @throws SQLException 数据库异常
     */
    Result selectLibraryCondition(String libraryName, String libraryLocation) throws SQLException;

    /**
     * 根据id查图书馆
     * @param id 待查id
     * @return 查询结果集
     * @throws SQLException 数据库异常
     */
    Result selectLibraryById(String id) throws SQLException;

    /**
     * 批量查询图书馆
     * @param ids id数组
     * @return  library结果集
     */
    Result selectLibraryByIds(String [] ids) throws SQLException;

    void deleteLibraryConditionByIds(String [] libraryIds,String [] curatorIds,String [] userIds) throws SQLException;
}
